In the context of data communications, snooping is a term used to refer to the monitoring of signals, often for the purpose of troubleshooting. In a simple case, snooping can be performed by breaking the connection to be monitored, adding in an analyzer in-line with the connection, and monitoring the traffic. One limitation of snooping is that access to the connection is needed, which may be difficult or impossible in monolithic configurations such as RAID servers, blade servers, and the like, where the desired connection to be monitored may be located in a midplane between the drive and the enclosure controller card. Because the drive is physically inserted into the enclosure and connected through a midplane to the enclosure controller, it can difficult or impossible to insert analyzer probes into the connection. Another drawback of in-line snooping is that the analyzer can create re-timing issues, add latency, and can change the behavior of a signal, at least in terms of timing. Additionally, by breaking the connection to insert an analyzer, the very problem to be detected can disappear or be altered.
In current Fibre Channel (FC) switch technology, snoop ports and monitoring circuitry can be utilized within the switch ASIC to redirect data paths to side paths for monitoring. This capability sends a copy of the data received or sent on one port or Phy to another identified Phy within the ASIC, the snoop Phy, in real time. The data is an exact copy of the sent or received data with the exception of fill words as required by slight speed differences in devices. This is done without modifying the original information in any way. This capability is valuable in storage systems because it enables troubleshooting a system using an analyzer without the need to modify the cabling of the system. An additional benefit is that the analyzer is not connected in-line with the devices of interest and does not modify the signal in any way.
However, SAS is different from FC in several key respects. First, unlike FC, SAS utilizes OOB sequences, which are low frequency signals detectable by a low frequency envelope detection mechanism and used to perform device detection, speed negotiation, etc. These OOB sequences cannot be monitored on conventional EC snoop port, which is not set up for low frequency envelope detection. Furthermore, in FC, snooping is available only for those devices directly attached to a port on the switch. Conventional FC snooping techniques and mechanisms cannot be extended to allow the passing of snoop data through a SAS expander network, or the attachment of an analyzer to one expander for snooping on a port in another expander. In addition, the use of wide ports with multiple cascades in SAS networks allows transactions to be sent down different cascades in an unpredictable fashion, making it difficult to monitor those ports without missing traffic. SAS also utilizes logical (a.k.a. virtual) Phy to provide management interfaces to the processor within a SAS expander, but conventional FC snooping techniques and mechanisms cannot be extended to snoop on logical Phy using snoop ports. SAS ports may also include an STP-SATA bridge for connecting to Serial ATA (SATA) devices, which modifies traffic and renders conventional FC snoop port technology ineffective due to the transformation of the traffic.